/*
 * Copyright (C) 2014 Realtek Semiconductor Corp.
 * All Rights Reserved.
 *
 * This program is the proprietary software of Realtek Semiconductor
 * Corporation and/or its licensors, and only be used, duplicated,
 * modified or distributed under the authorized license from Realtek.
 *
 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
 *
 * Purpose : Definition of ME attribute: Ethernet PMHD (24)
 *
 * Feature : The file includes the following modules and sub-modules
 *           (1) ME attribute: Ethernet PMHD (24)
 */

#ifndef __MIB_GENEXIS_ETHPMHD4_TABLE_H__
#define __MIB_GENEXIS_ETHPMHD4_TABLE_H__

typedef enum {
    GENEXIS_ETHPMHD4_ASSOCIATETYPE_TYPE_PPTP_ETH_UNI          = 0,
    GENEXIS_ETHPMHD4_ASSOCIATETYPE_TYPE_ANI                  = 1,
} me255_attr_associate_type_t;

/* Table GENEXIS_ETHPMHD4 attribute index */
#define MIB_TABLE_GENEXIS_ETHPMHD4_ATTR_NUM (14)
#define MIB_TABLE_GENEXIS_ETHPMHD4_ENTITYID_INDEX ((MIB_ATTR_INDEX)1)
#define MIB_TABLE_GENEXIS_ETHPMHD4_INTENDTIME_INDEX ((MIB_ATTR_INDEX)2)
#define MIB_TABLE_GENEXIS_ETHPMHD4_THRESHOLDID_INDEX ((MIB_ATTR_INDEX)3)
#define MIB_TABLE_GENEXIS_ETHPMHD4_ASSOCIATE_TYPE_INDEX ((MIB_ATTR_INDEX)4)
#define MIB_TABLE_GENEXIS_ETHPMHD4_TX_TRAFFIC_INDEX ((MIB_ATTR_INDEX)5)
#define MIB_TABLE_GENEXIS_ETHPMHD4_RX_TRAFFIC_INDEX ((MIB_ATTR_INDEX)6)
#define MIB_TABLE_GENEXIS_ETHPMHD4_TX_RATE_INDEX ((MIB_ATTR_INDEX)7)
#define MIB_TABLE_GENEXIS_ETHPMHD4_RX_RATE_INDEX ((MIB_ATTR_INDEX)8)
#define MIB_TABLE_GENEXIS_ETHPMHD4_TX_OCTETS_INDEX ((MIB_ATTR_INDEX)9)
#define MIB_TABLE_GENEXIS_ETHPMHD4_RX_OCTETS_INDEX ((MIB_ATTR_INDEX)10)
#define MIB_TABLE_GENEXIS_ETHPMHD4_TX_DISCARD_INDEX ((MIB_ATTR_INDEX)11)
#define MIB_TABLE_GENEXIS_ETHPMHD4_RX_DISCARD_INDEX ((MIB_ATTR_INDEX)12)
#define MIB_TABLE_GENEXIS_ETHPMHD4_TX_ERROR_INDEX ((MIB_ATTR_INDEX)13)
#define MIB_TABLE_GENEXIS_ETHPMHD4_RX_ERROR_INDEX ((MIB_ATTR_INDEX)14)

/* Table GENEXIS_ETHPMHD4 attribute len, only string attrubutes have length definition */

// Table GENEXIS_ETHPMHD4 entry stucture
typedef struct {
    UINT16   EntityId;
    UINT8    IntEndTime;
    UINT16   ThresholdID;
    UINT8    AssociateType;
    UINT32   TransmittedTraffic;     //Kbit/s
    UINT32   ReceivedTraffic;        //Kbit/s
    UINT32   TransmittedRate;        //pps
    UINT32   ReceivedRate;           //pps
    UINT32   TransmittedOctets;
    UINT32   ReceivedOctets;
    UINT32   TransmittedDiscard;
    UINT32   ReceivedDiscard;
    UINT32   TransmittedError;
    UINT32   ReceivedError;
} __attribute__((packed)) MIB_TABLE_GENEXIS_ETHPMHD4_T;


#endif
